home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / IDLIncludes / HIPanels.idl < prev    next >
Text File  |  1996-05-01  |  3KB  |  124 lines

  1. /*
  2.      File:        HIPanels.idl
  3.  
  4.      Contains:    Root class for embeddable prepackaged toolbox HI elements.
  5.  
  6.      Version:    Technology:    System 8.0
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1995-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16. */
  17.  
  18.  
  19. #ifndef __HIPANELS_IDL__
  20. #define __HIPANELS_IDL__
  21.  
  22. #include <somobj.idl>
  23. #include <somcls.idl>
  24.  
  25. #include <Dialogs.idl>
  26. #include <Collections.idl>
  27. #include <Controls.idl>
  28. #include <Drag.idl>
  29. #include <Events.idl>
  30. #include <Lists.idl>
  31. #include <Quickdraw.idl>
  32. #include <TextEdit.idl>
  33. #include <TextObjects.idl>
  34. #include <Types.idl>
  35. #include <Icons.idl>
  36. #include <Menus.idl>
  37.  
  38. #include <HIObjects.idl>
  39. #include <HIPanelTypes.idl>
  40.  
  41.  
  42. interface HIEmbeddingPanel;
  43. interface HIWindow;
  44.  
  45. /* ########################################################################
  46.  
  47.     HIPanel
  48.     
  49.         the base class panel
  50.         
  51.    ######################################################################## */
  52. interface HIPanel : HIObject
  53. {
  54. // ======================================================
  55. // Attributes
  56. // ======================================================
  57.     HIEmbeddingPanel    GetEmbeddingParent ();
  58.     
  59. // ======================================================
  60. // Public Methods
  61. // ======================================================
  62. // * initialization / disposal *
  63.     // programmatically initialize the panel
  64.     OSStatus InitPanel (in RefLabel identifier, in HIWindow window, in Rect bounds);
  65.     
  66. // * Event Handling *
  67.  
  68.     // register interest in a specific type of event
  69.     OSStatus RegisterInterestInAppleEvent (in AEHandlerTableRef table, in AEEventClass eventClass, 
  70.             in AEEventID eventID, in HIEventRoutingType eventRouting);
  71.  
  72.     
  73.     // return true if the panel's simple content is valid.  For
  74.     // example, a numeric-only edit text panel would return
  75.     // false if the value was non-numeric.  
  76.     boolean HasValidContent ();    // *** how to get feedback?
  77.     
  78. // * Collection Item Inheritance *    
  79.     // Collection item inheritance.  Try to get a collection 
  80.     // item from this panel's collection.  If not there, try
  81.     // to get it recursively from its embedding parent's collection
  82.     OSStatus GetDeepCollectionItemData (in CollectionTag tag, in SInt32 id,
  83.         in ByteCount sizeAllowed, out ByteCount sizeReturned, in void *itemData);
  84.         
  85. // ======================================================
  86. // Protected Methods
  87. //     Call these methods only from within panel implementation!
  88. // ======================================================
  89.  
  90.     
  91.     implementation {
  92.         
  93.         passthru C_h =     "#include <Collections.h>"
  94.                         "#include <Drag.h>"
  95.                         "#include <Quickdraw.h>"
  96.                         "#include <TextObjects.h>"
  97.                         "#include <Types.h>"
  98.                         "#include <HIPanelTypes.h>";
  99.  
  100.         passthru C_xh = "#include <Collections.h>"
  101.                         "#include <Drag.h>"
  102.                         "#include <Quickdraw.h>"
  103.                         "#include <TextObjects.h>"
  104.                         "#include <Types.h>"
  105.                         "#include <HIPanelTypes.h>";
  106.  
  107.         releaseorder:    InitPanel,
  108.                         GetEmbeddingParent,
  109.                         RegisterInterestInAppleEvent,
  110.                         SetAdornment,
  111.                         GetAdornment,
  112.                         HasValidContent,
  113.                         GetDeepCollectionItemData,
  114.                         reserved0,
  115.                         reserved1,
  116.                         reserved2,
  117.                         reserved3,
  118.                         reserved4;
  119.                         
  120.     };
  121. };
  122.  
  123. #endif
  124.